package cn.ibizlab.odoo.core.odoo_mail.domain;

import java.sql.Timestamp;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.math.BigInteger;
import java.util.HashMap;
import java.math.BigDecimal;
import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonFormat;
import cn.ibizlab.odoo.core.util.annotation.DEField;
import cn.ibizlab.odoo.core.util.annotation.DEPredefinedField;
import cn.ibizlab.odoo.core.util.enums.DEPredefinedFieldFillMode;
import cn.ibizlab.odoo.core.util.enums.DEPredefinedFieldType;
import java.io.Serializable;

/**
 * 实体[群发邮件阶段]
 */
public class Mail_statistics_report implements Serializable {

	private static final long serialVersionUID = 1L;

    /**
     * 点击率
     */
    private Integer clicked;

    @JsonIgnore
    @JSONField(serialize=false)
    private boolean clickedDirtyFlag;

    /**
     * 最后修改日
     */
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss", locale = "zh" , timezone="GMT+8")
    private Timestamp __last_update;

    @JsonIgnore
    @JSONField(serialize=false)
    private boolean __last_updateDirtyFlag;

    /**
     * ID
     */
    @DEField(isKeyField=true)
    private Integer id;

    @JsonIgnore
    @JSONField(serialize=false)
    private boolean idDirtyFlag;

    /**
     * 显示名称
     */
    private String display_name;

    @JsonIgnore
    @JSONField(serialize=false)
    private boolean display_nameDirtyFlag;

    /**
     * 被退回
     */
    private Integer bounced;

    @JsonIgnore
    @JSONField(serialize=false)
    private boolean bouncedDirtyFlag;

    /**
     * 状态
     */
    private String state;

    @JsonIgnore
    @JSONField(serialize=false)
    private boolean stateDirtyFlag;

    /**
     * 已回复
     */
    private Integer replied;

    @JsonIgnore
    @JSONField(serialize=false)
    private boolean repliedDirtyFlag;

    /**
     * 群发邮件营销
     */
    private String campaign;

    @JsonIgnore
    @JSONField(serialize=false)
    private boolean campaignDirtyFlag;

    /**
     * 计划日期
     */
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss", locale = "zh" , timezone="GMT+8")
    private Timestamp scheduled_date;

    @JsonIgnore
    @JSONField(serialize=false)
    private boolean scheduled_dateDirtyFlag;

    /**
     * 已汇
     */
    private Integer sent;

    @JsonIgnore
    @JSONField(serialize=false)
    private boolean sentDirtyFlag;

    /**
     * 从
     */
    private String email_from;

    @JsonIgnore
    @JSONField(serialize=false)
    private boolean email_fromDirtyFlag;

    /**
     * 已送货
     */
    private Integer delivered;

    @JsonIgnore
    @JSONField(serialize=false)
    private boolean deliveredDirtyFlag;

    /**
     * 群发邮件
     */
    private String name;

    @JsonIgnore
    @JSONField(serialize=false)
    private boolean nameDirtyFlag;

    /**
     * 已开启
     */
    private Integer opened;

    @JsonIgnore
    @JSONField(serialize=false)
    private boolean openedDirtyFlag;


    /**
     * 获取 [点击率]
     */
    @JsonProperty("clicked")
    @JSONField(name="clicked")
    public Integer getClicked(){
        return this.clicked ;
    }

    /**
     * 设置 [点击率]
     */
    @JsonProperty("clicked")
    @JSONField(name="clicked")
    public void setClicked(Integer clicked){
        this.clicked = clicked ;
        this.clickedDirtyFlag = true ;
    }

    /**
     * 获取 [点击率]脏标记
     */
    @JsonIgnore
    @JSONField(serialize=false)
    public boolean getClickedDirtyFlag(){
        return this.clickedDirtyFlag ;
    }
    /**
     * 获取 [最后修改日]
     */
    @JsonProperty("__last_update")
    @JSONField(name="__last_update")
    public Timestamp get__last_update(){
        return this.__last_update ;
    }

    /**
     * 设置 [最后修改日]
     */
    @JsonProperty("__last_update")
    @JSONField(name="__last_update")
    public void set__last_update(Timestamp __last_update){
        this.__last_update = __last_update ;
        this.__last_updateDirtyFlag = true ;
    }

    /**
     * 获取 [最后修改日]脏标记
     */
    @JsonIgnore
    @JSONField(serialize=false)
    public boolean get__last_updateDirtyFlag(){
        return this.__last_updateDirtyFlag ;
    }
    /**
     * 获取 [ID]
     */
    @JsonProperty("id")
    @JSONField(name="id")
    public Integer getId(){
        return this.id ;
    }

    /**
     * 设置 [ID]
     */
    @JsonProperty("id")
    @JSONField(name="id")
    public void setId(Integer id){
        this.id = id ;
        this.idDirtyFlag = true ;
    }

    /**
     * 获取 [ID]脏标记
     */
    @JsonIgnore
    @JSONField(serialize=false)
    public boolean getIdDirtyFlag(){
        return this.idDirtyFlag ;
    }
    /**
     * 获取 [显示名称]
     */
    @JsonProperty("display_name")
    @JSONField(name="display_name")
    public String getDisplay_name(){
        return this.display_name ;
    }

    /**
     * 设置 [显示名称]
     */
    @JsonProperty("display_name")
    @JSONField(name="display_name")
    public void setDisplay_name(String display_name){
        this.display_name = display_name ;
        this.display_nameDirtyFlag = true ;
    }

    /**
     * 获取 [显示名称]脏标记
     */
    @JsonIgnore
    @JSONField(serialize=false)
    public boolean getDisplay_nameDirtyFlag(){
        return this.display_nameDirtyFlag ;
    }
    /**
     * 获取 [被退回]
     */
    @JsonProperty("bounced")
    @JSONField(name="bounced")
    public Integer getBounced(){
        return this.bounced ;
    }

    /**
     * 设置 [被退回]
     */
    @JsonProperty("bounced")
    @JSONField(name="bounced")
    public void setBounced(Integer bounced){
        this.bounced = bounced ;
        this.bouncedDirtyFlag = true ;
    }

    /**
     * 获取 [被退回]脏标记
     */
    @JsonIgnore
    @JSONField(serialize=false)
    public boolean getBouncedDirtyFlag(){
        return this.bouncedDirtyFlag ;
    }
    /**
     * 获取 [状态]
     */
    @JsonProperty("state")
    @JSONField(name="state")
    public String getState(){
        return this.state ;
    }

    /**
     * 设置 [状态]
     */
    @JsonProperty("state")
    @JSONField(name="state")
    public void setState(String state){
        this.state = state ;
        this.stateDirtyFlag = true ;
    }

    /**
     * 获取 [状态]脏标记
     */
    @JsonIgnore
    @JSONField(serialize=false)
    public boolean getStateDirtyFlag(){
        return this.stateDirtyFlag ;
    }
    /**
     * 获取 [已回复]
     */
    @JsonProperty("replied")
    @JSONField(name="replied")
    public Integer getReplied(){
        return this.replied ;
    }

    /**
     * 设置 [已回复]
     */
    @JsonProperty("replied")
    @JSONField(name="replied")
    public void setReplied(Integer replied){
        this.replied = replied ;
        this.repliedDirtyFlag = true ;
    }

    /**
     * 获取 [已回复]脏标记
     */
    @JsonIgnore
    @JSONField(serialize=false)
    public boolean getRepliedDirtyFlag(){
        return this.repliedDirtyFlag ;
    }
    /**
     * 获取 [群发邮件营销]
     */
    @JsonProperty("campaign")
    @JSONField(name="campaign")
    public String getCampaign(){
        return this.campaign ;
    }

    /**
     * 设置 [群发邮件营销]
     */
    @JsonProperty("campaign")
    @JSONField(name="campaign")
    public void setCampaign(String campaign){
        this.campaign = campaign ;
        this.campaignDirtyFlag = true ;
    }

    /**
     * 获取 [群发邮件营销]脏标记
     */
    @JsonIgnore
    @JSONField(serialize=false)
    public boolean getCampaignDirtyFlag(){
        return this.campaignDirtyFlag ;
    }
    /**
     * 获取 [计划日期]
     */
    @JsonProperty("scheduled_date")
    @JSONField(name="scheduled_date")
    public Timestamp getScheduled_date(){
        return this.scheduled_date ;
    }

    /**
     * 设置 [计划日期]
     */
    @JsonProperty("scheduled_date")
    @JSONField(name="scheduled_date")
    public void setScheduled_date(Timestamp scheduled_date){
        this.scheduled_date = scheduled_date ;
        this.scheduled_dateDirtyFlag = true ;
    }

    /**
     * 获取 [计划日期]脏标记
     */
    @JsonIgnore
    @JSONField(serialize=false)
    public boolean getScheduled_dateDirtyFlag(){
        return this.scheduled_dateDirtyFlag ;
    }
    /**
     * 获取 [已汇]
     */
    @JsonProperty("sent")
    @JSONField(name="sent")
    public Integer getSent(){
        return this.sent ;
    }

    /**
     * 设置 [已汇]
     */
    @JsonProperty("sent")
    @JSONField(name="sent")
    public void setSent(Integer sent){
        this.sent = sent ;
        this.sentDirtyFlag = true ;
    }

    /**
     * 获取 [已汇]脏标记
     */
    @JsonIgnore
    @JSONField(serialize=false)
    public boolean getSentDirtyFlag(){
        return this.sentDirtyFlag ;
    }
    /**
     * 获取 [从]
     */
    @JsonProperty("email_from")
    @JSONField(name="email_from")
    public String getEmail_from(){
        return this.email_from ;
    }

    /**
     * 设置 [从]
     */
    @JsonProperty("email_from")
    @JSONField(name="email_from")
    public void setEmail_from(String email_from){
        this.email_from = email_from ;
        this.email_fromDirtyFlag = true ;
    }

    /**
     * 获取 [从]脏标记
     */
    @JsonIgnore
    @JSONField(serialize=false)
    public boolean getEmail_fromDirtyFlag(){
        return this.email_fromDirtyFlag ;
    }
    /**
     * 获取 [已送货]
     */
    @JsonProperty("delivered")
    @JSONField(name="delivered")
    public Integer getDelivered(){
        return this.delivered ;
    }

    /**
     * 设置 [已送货]
     */
    @JsonProperty("delivered")
    @JSONField(name="delivered")
    public void setDelivered(Integer delivered){
        this.delivered = delivered ;
        this.deliveredDirtyFlag = true ;
    }

    /**
     * 获取 [已送货]脏标记
     */
    @JsonIgnore
    @JSONField(serialize=false)
    public boolean getDeliveredDirtyFlag(){
        return this.deliveredDirtyFlag ;
    }
    /**
     * 获取 [群发邮件]
     */
    @JsonProperty("name")
    @JSONField(name="name")
    public String getName(){
        return this.name ;
    }

    /**
     * 设置 [群发邮件]
     */
    @JsonProperty("name")
    @JSONField(name="name")
    public void setName(String name){
        this.name = name ;
        this.nameDirtyFlag = true ;
    }

    /**
     * 获取 [群发邮件]脏标记
     */
    @JsonIgnore
    @JSONField(serialize=false)
    public boolean getNameDirtyFlag(){
        return this.nameDirtyFlag ;
    }
    /**
     * 获取 [已开启]
     */
    @JsonProperty("opened")
    @JSONField(name="opened")
    public Integer getOpened(){
        return this.opened ;
    }

    /**
     * 设置 [已开启]
     */
    @JsonProperty("opened")
    @JSONField(name="opened")
    public void setOpened(Integer opened){
        this.opened = opened ;
        this.openedDirtyFlag = true ;
    }

    /**
     * 获取 [已开启]脏标记
     */
    @JsonIgnore
    @JSONField(serialize=false)
    public boolean getOpenedDirtyFlag(){
        return this.openedDirtyFlag ;
    }

}

